﻿using System;
using System.Collections.Generic;
using ConfigurationResource_Objects;

namespace ConfigurationResource.Domain
{
    public interface IConfigurationStore
    {
        ConfigurationElement getActiveCredential(string key);
        ConfigurationElement getCredential(string key, int status);
        List<ConfigurationElement> getActiveCredentials();
        List<ConfigurationElement> getCredentials();
        ConfigurationResponse addCredential(string application, string key, string value, string description, int status);
        ConfigurationResponse updateCredential(string application, string keyname, string value, string description, int oldStatus, int newStatus);
        ConfigurationResponse dropCredential(string application, string keyname, int status);
        
        IdentityResponse verifyIdentifier(string identifier);
        IdentityResponse addIdentifier(string identifier, string description);
        IdentityResponse dropApplication(string identifier);
        IdentityResponse updateApplication(string identifier, string description);
        List<string> getIdentifiers();
    }
}